#include <stdio.h>

typedef int (*OperatePoint)(int, int);
int add(int a, int b)
{
    return a + b;
}
int sub(int a, int b)
{
    return a - b;
}

OperatePoint GetMathFunc(char Symbol)
{
    switch (Symbol)
    {
    case '+':
        return add;
    case '-':
        return sub;
    case '*':
        return multiply;
    case '/':
        return divide;
    default:
        return NULL;
    }
}

int multiply(int a, int b)
{
    return a * b;
}
int divide(int a, int b)
{
    if (b == 0)
    {
        printf("divide zero!\n");
        return 0;
    }
    return a / b;
}
int main()
{
    char Symbol = '+';
    OperatePoint ptr = GetMathFunc(Symbol);
    if (ptr != NULL)
    {
        printf("%d\n", ptr(1, 2));
    }
}